<?php
class modelo extends CI_Model
{
    function __construct()
    {
        parent::__construct();
    }
    function buscarUsuario($codigoUsuario, $contrasena)
    {
        $this->db->select("*");
        $this->db->where("codigoUsuario",$codigoUsuario);
        $this->db->where("contrasena",$contrasena);
        $query  = $this->db->get('usuario');
        return $query;
    }
    function todoslosUsuarios()
    {
        $this->db->select('*');
        return $this->db->get('usuario');
    }
    function buscarCodigoProyectos($codigoUsuario)
    {
        $this->db->select('*');
        $this->db->where('codigoUsuario',$codigoUsuario);
        return $this->db->get('usuariogrupo');
    }
    function buscarCodigoProyectos2($codigoUsuario,$codigoProyecto)
    {
        $this->db->select('*');
        $this->db->where('codigoUsuario',$codigoUsuario);
        $this->db->where('codigoProyecto',$codigoProyecto);
        return $this->db->get('usuariogrupo');
    }
    function esJefeProyecto($codigoUsuario)
    {
        $this->db->select('*');
        $this->db->where('jefeProyecto',$codigoUsuario);
        return $this->db->get('proyecto');
    }
    function buscarProyectos($codigoProyecto)
    {
        $this->db->select('*');
        $this->db->where('codigoProyecto',$codigoProyecto);
        return $this->db->get('proyecto');
    }
    function buscarTodosProyectos()
    {
        $this->db->select('*');
        return $this->db->get('proyecto');
    }
    function buscaNombreProyecto($nombreProy)
    {
        $this->db->select('*');
        $this->db->where('nombreProyecto',$nombreProy);
        return $this->db->get('proyecto');
    }
    function crearProyecto($codJefe,$nombre,$descrip,$estado)
    {
        $datosProy = array("jefeProyecto"=>$codJefe,
                           "nombreProyecto"=>$nombre,
                           "descripcion"=>$descrip,
                           "codigoEstadoProyecto"=>$estado
                            );
        $this->db->insert("proyecto",$datosProy);
    }
    function updateProyecto($codigoProyecto,$jefeDefault,
        $estadoDefault,$nombreProyecto,$selectUsuarios,$selectEstados,$descripcion)
    {       
        $datos = array(
            'jefeProyecto' => $selectUsuarios,
            'nombreProyecto' => $nombreProyecto,
            'codigoEstadoProyecto' => $selectEstados,
            'descripcion' => $descripcion
        );
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->update('proyecto',$datos);
        
        $datos = array('codigoUsuario'=>$selectUsuarios);
        $this->db->where('codigoUsuario',$jefeDefault);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('codigoRol',1);
        $this->db->update('usuariogrupo',$datos);
        
    }
    function retornaIdProyecto($codJefe,$nombreProy)
    {
        $this->db->select('codigoProyecto');
        $this->db->where('jefeProyecto',$codJefe);
        $this->db->where('nombreProyecto',$nombreProy);
        return $this->db->get('proyecto')->result();
    }
    function crearGrupoDefault($codigoGrupo,$codProyecto, $nombreGrupo)
    {
        $datos = array(
            "codigoGrupo"=>$codigoGrupo,
            "codigoProyecto"=>$codProyecto,
            "nombreGrupo" => $nombreGrupo,
            "decripcion" => "grupo default",
            "codigoEstado" => 1
        );
        $this->db->insert('grupo',$datos);

        //Se hace el insert y luego se retorna el codigo del grupo
        $this->db->select('codigoGrupo');
        $this->db->where('codigoProyecto',$codProyecto);
        $this->db->where('nombreGrupo',$nombreGrupo);
        return $this->db->get('grupo')->result();
    }
    function revisaRand($val)
    {
        $this->db->select('codigoGrupo');
        $this->db->where('codigoGrupo',$val);
        return $this->db->get('grupo');
    }
    function revisaRand2($val)
    {
        $this->db->select('codigoRequisito');
        $this->db->where('codigoRequisito',$val);
        return $this->db->get('requisito');
    }
    function revisaRand3($val)
    {
        $this->db->select('codigoDocumento');
        $this->db->where('codigoDocumento',$val);
        return $this->db->get('documento');
    }
    function crearUsuarioGrupoDefault($codigoGrupo,$codigoJefeProy,$codigoProyecto)
    {
        $datos = array(
            "codigoUsuario" => $codigoJefeProy,
            "codigoGrupo" => $codigoGrupo,
            "CodigoProyecto" => $codigoProyecto,
            "codigoRol" => 1
        );
        $this->db->insert('usuariogrupo',$datos);
    }
    function buscarEncargado($codigoUsuario)
    {
        $this->db->select("*");
        $this->db->where("codigoUsuario",$codigoUsuario);
        $query  = $this->db->get('usuario');
        return $query;
    }
    function buscaNoAdmin()
    {
        $this->db->select("*");
        $this->db->where("codigoTipoUsuario ",2);
        $query  = $this->db->get('usuario');
        return $query;
    }
    function estadosUsuarios()
    {
        $this->db->select('*');
        return $this->db->get('estado');
    }
    function nombreEstadoUsuario($estado){
        $this->db->select('nombreEstado');
        $this->db->where("codigoEstado",$estado);
        return $this->db->get('estado');
    }
    function buscaEstadosProyecto()
    {
        $this->db->select('*');
        return $this->db->get('estadoproyecto');
    }
    function buscaEstadosProyecto2($codigoEstadoProyecto)
    {
        $this->db->select('*');
        $this->db->where('codigoEstadoProyecto',$codigoEstadoProyecto);
        return $this->db->get('estadoproyecto');
    }
    function actualizaUsuario($codigoUsuario,$Nombres,$aPaterno,$aMaterno,$contrasena,$estado)
    {
        $data = array("Nombres"=>$Nombres,"apellidoPaterno"=>$aPaterno,"apellidoMaterno"=>$aMaterno,"contrasena"=>$contrasena,"codigoEstado"=>$estado);
        $this->db->where('codigoUsuario',$codigoUsuario);
        $this->db->update('usuario',$data);
        return 0;
    }
    function guardarUsuario($codigoUsuario,$digito,$nombres,$aPaterno,$aMaterno,$contrasena,$estado)
    {
        $datos = array( "codigoUsuario"=>$codigoUsuario,
                        "codigoTipoUsuario"=>2,
                        "nombres"=>$nombres,
                        "apellidoPaterno"=>$aPaterno,
                        "apellidoMaterno"=>$aMaterno,
                        "digitoVerificador"=>$digito,
                        "contrasena"=>$contrasena,
                        "codigoEstado"=>$estado);
        $this->db->insert("usuario",$datos);
        return 0;
    }
    function validaRut($r)
    {
        $s = 1;
        for($m=0;$r!=0;$r/=10)
            $s = ($s+$r%10*(9-$m++%6))%11;
        return chr($s?$s+47:75);
    }
    function buscaRoles()
    {
        $this->db->select('*');
        return $this->db->get('rol');
    }
    function buscaRoles2()
    {
        $this->db->select('*');
        $this->db->where('codigoRol !=',1);
        return $this->db->get('rol');
    }
    function buscaUsuariosDisponibles($codigoUsuario)
    {
        $this->db->select('*');
        $this->db->where('codigoTipoUsuario !=',1);
        return $this->db->get('usuario');
    }
    function revisaCodigoGrupo($codigoGrupo)
    {
        $this->db->select('*');
        $this->db->where("codigoGrupo",$codigoGrupo);
        return $this->db->get('grupo');
    }
    function guardarUsuarioGrupo($codigoUsuario,$codigoGrupo,$codigoProyecto,$codigoRol)
    {
        $this->db->select('*');
        $this->db->where('codigoUsuario',$codigoUsuario);
        $this->db->where('codigoGrupo',$codigoGrupo);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('codigoRol',$codigoRol);
        $num = $this->db->get('usuariogrupo')->num_rows();
        if($num == 0){
            $datos = array(
                    "codigoUsuario" => $codigoUsuario,
                    "codigoGrupo" => $codigoGrupo,
                    "codigoProyecto" => $codigoProyecto,
                    "codigoRol" => $codigoRol
                );
            $this->db->insert('usuariogrupo',$datos);
        }
    }
    function guardarGrupo($codigoGrupo,$codigoProyecto,$nombreGrupo,$descripcionGrupo,$idEstado)
    {
        $datos = array(
                "codigoGrupo"=>$codigoGrupo,
                "codigoProyecto"=>$codigoProyecto,
                "nombreGrupo"=>$nombreGrupo,
                "decripcion"=>$descripcionGrupo,
                "codigoEstado"=>$idEstado
                );
        $this->db->insert('grupo',$datos);
    }
    function consultaAtributos()
    {
        $this->db->select('*');
        return  $this->db->get('atributo')->result();
    }
    function atributoAsignado($codigoAtributo, $codigoValor)
    {
        $this->db->select('*');
        $this->db->where('codigoAtributo',$codigoAtributo);
        $this->db->where('codigoValor',$codigoValor);
        return $this->db->get('requisitoatributovalor');
    }
    function buscaAtributoValor($codattr)
    {
        $this->db->select('*');
        $this->db->where('codigoAtributo',$codattr);
        return $this->db->get('atributovalor');
    }
    function buscaAtributoValor2($codigoAtributo,$codigoValor)
    {
        $this->db->select('*');
        $this->db->where('codigoAtributo',$codigoAtributo);
        $this->db->where('codigoValor',$codigoValor);
        return $this->db->get('atributovalor');
    }
    function buscaNombreValor($codigoValor)
    {
        $this->db->select('*');
        $this->db->where('codigoValor',$codigoValor);
        return $this->db->get('valor');
    }
    function buscaNombreValor2($nombreValor)
    {
        $this->db->select('*');
        $this->db->where('nombreValor',$nombreValor);
        return $this->db->get('valor');
    }
    function buscarNombreAtributos($nombreAtributo)
    {
        $this->db->select('*');
        $this->db->where('nombreAtributo',$nombreAtributo);
        return $this->db->get('atributo');
    }
    function buscarNombreAtributos2($codigoAtributo)
    {
        $this->db->select('*');
        $this->db->where('codigoAtributo',$codigoAtributo);
        return $this->db->get('atributo');
    }
    function buscaNombreUsuario($codigoUsuario)
    {
        $this->db->select('');
        $this->db->where('codigoUsuario',$codigoUsuario);
        return $this->db->get('usuario')->result();
    }
    function buscaNombreProyecto2($codigoProyecto)
    {
        $this->db->select('');
        $this->db->where('codigoProyecto',$codigoProyecto);
        return $this->db->get('proyecto')->result();
    }
    function insertaValor($nombreValor)
    {
        $datos = array("nombreValor"=>$nombreValor);
        $this->db->insert('valor',$datos);
    }
    function insertaAtributo($nombreAtributo)
    {
        $datos = array("nombreAtributo"=>$nombreAtributo);
        $this->db->insert('atributo',$datos);
    }
    function insertaAtributoValor($codigoAtributo,$codigoValor)
    {
        $datos = array("codigoAtributo"=>$codigoAtributo, "codigoValor"=>$codigoValor);
        $this->db->insert('atributovalor',$datos);
    }
    function actualizaValor($codigoValor,$nombreValor)
    {
        $datos = array('nombreValor'=>$nombreValor);
        $this->db->where('codigoValor',$codigoValor);
        $this->db->update('valor',$datos);
    }
    function actualizaAtributoValor($codigoAtributo,$codigoValor,$codigoValores)
    {
        $datos = array('codigoValor'=>$codigoValores);
        $this->db->where('codigoAtributo',$codigoAtributo);
        $this->db->where('codigoValor',$codigoValor);
        $this->db->update('atributovalor',$datos);

        $this->db->where('codigoAtributo',$codigoAtributo);
        $this->db->where('codigoValor',$codigoValor);
        $this->db->delete('atributovalor');
    }
    function buscaRequisito($codigoRequisito)
    {
        $this->db->select('*');
        $this->db->where('codigoRequisito',$codigoRequisito);
        return $this->db->get('requisito');
    }
    function consultaAtributoValor()
    {
        $this->db->select('*');
        return $this->db->get('atributovalor');
    }
    function buscarTipoRequisito()
    {
        $this->db->select('*');
        return $this->db->get('tiporequisito');
    }
    function buscarNombreTipoRequisito($codigoTipoRequisito)
    {
        $this->db->select('*');
        $this->db->where('codigoTipoRequisito',$codigoTipoRequisito);
        return $this->db->get('tiporequisito');
    }
    function buscarSubTipoRequisito($codigoTipoRequisito)
    {
        $this->db->select('*');
        $this->db->where('codigoTipoRequisito',$codigoTipoRequisito);
        return $this->db->get('subtiporequisito');
    }
     function buscarSubTipoRequisito2($codigoSubTipoRequisito)
    {
        $this->db->select('*');
        $this->db->where('codigoSubTipoRequisito',$codigoSubTipoRequisito);
        return $this->db->get('subtiporequisito');
    }
    function buscaEstadosRequisitos()
    {
        $this->db->select('*');
        return $this->db->get('estadorequisito');
    }
    function insertaRequerimiento($codigoRequisito,$codigoProyecto,$version,
            $codigoRequisitoPadre,$codigoProyectoPadre,$versionPadre,$codigoSubTipoRequisito,
            $codigoTipoRequisito,$creador,$codigoEstadoRequisito,$nombreRequisito,$descripcion)
    {
        $datos = array(
            "codigoRequisito"=>$codigoRequisito,
            "codigoProyecto"=>$codigoProyecto,
            "version"=>$version,
            "codigoRequisitoPadre"=>$codigoRequisitoPadre,
            "codigoProyectoPadre"=>$codigoProyectoPadre,
            "versionPadre"=>$versionPadre,
            "codigoSubTipoRequisito"=>$codigoSubTipoRequisito,
            "codigoTipoRequisito"=>$codigoTipoRequisito,
            "creador"=>$creador,
            "codigoEstadoRequisito"=>$codigoEstadoRequisito,
            "nombreRequisito"=>$nombreRequisito,
            "descripcion"=>$descripcion
        );

        $this->db->insert('requisito',$datos);
    }
    function editarNombreRequisito($codigoRequisito,$nombre)
    {
        $datos = array("nombreRequisito"=>$nombre);
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->update('requisito',$datos);
    }
    function guardaNuevoTipoRequisito($nombre,$descripcion)
    {
        $datos = array('nombreTipoRequisito'=>$nombre,"descripcion"=>$descripcion);
        $this->db->insert('tiporequisito',$datos);
    }
    function guardaNuevoSubTipoRequisito($nombre,$codigoTipoRequisito,$codigoSubTipoRequisito,$descripcion)
    {
        $datos = array("codigoTipoRequisito"=>$codigoTipoRequisito,
                "nombreSubTipoRequisito"=>$nombre,
                "codigoSubTipoRequisito"=>$codigoSubTipoRequisito,
                "descripcion" => $descripcion);
        $this->db->insert('subtiporequisito',$datos);
    }
    function consultaAtributosSeleccionados($codigoTipoRequisito,$codigoSubTipoRequisito)
    {
        $this->db->select('*');
        $this->db->where('codigoTipoRequisito',$codigoTipoRequisito);
        $this->db->where('codigoSubTipoRequisito',$codigoSubTipoRequisito);
        return $this->db->get('subtiporequisitoatributo');
    }
    function buscaSubTipoRequisitoAtributo($codigoTipoRequisito,$codigoSubTipoRequisito,$codigoAtributo)
    {
        $this->db->select('*');
        $this->db->where('codigoTipoRequisito',$codigoTipoRequisito);
        $this->db->where('codigoSubTipoRequisito',$codigoSubTipoRequisito);
        $this->db->where('codigoAtributo',$codigoAtributo);
        return $this->db->get('subtiporequisitoatributo');
    }
    function insertSubTipoRequisitoAtributo($codigoSubTipoRequisito,$codigoTipoRequisito,$codigoAtributo)
    {
        $datos = array(
            "codigoSubTipoRequisito"=>$codigoSubTipoRequisito,
            "codigoTipoRequisito" => $codigoTipoRequisito,
            "codigoAtributo" => $codigoAtributo
        );

        $this->db->insert('subtiporequisitoatributo',$datos);
    }
    function eliminoSubTipoRequisitoAtributo($codigoSubTipoRequisito,$codigoTipoRequisito,$codigoAtributo)
    {
        $datos = array('codigoTipoRequisito'=>$codigoTipoRequisito,
                'codigoSubTipoRequisito'=>$codigoSubTipoRequisito,
                'codigoAtributo'=>$codigoAtributo);
        $this->db->delete('subtiporequisitoatributo',$datos);
    }
    function buscaCodigoValor_en_atributoValor($codigoAtributo)
    {
        $this->db->select('*');
        $this->db->where('codigoAtributo',$codigoAtributo);
        return $this->db->get('atributovalor')->result();
    }
    function buscaRequisitoAtributoValor($codigoRequisito,$codigoProyecto,$version)
    {
        $this->db->select('*');
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('version',$version);
        return $this->db->get('requisitoatributovalor');
    }
    function insertRequisitoAtributoValor($codigoRequisito,$codigoProyecto,$version,$codigoAtributo,$codigoValor)
    {
        $datos = array(
            "codigoRequisito" => $codigoRequisito,
            "codigoProyecto" => $codigoProyecto,
            "version" => $version,
            "codigoAtributo" => $codigoAtributo,
            "codigoValor" => $codigoValor
        );
        $this->db->insert('requisitoatributovalor',$datos);
    }
    function buscaHijosOtroCreador($codigoRequisito,$codigoUsuario)
    {
        $this->db->select('*');
        $this->db->where('codigoRequisitoPadre',$codigoRequisito);
        $this->db->where('creador !=',$codigoUsuario);
        return $this->db->get('requisito');
    }
    function eliminarRequisito($codigoRequisito)
    {
        echo "CodigoRequisito Eliminado! -> ".$codigoRequisito;
        //Se elimina el requisito
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->delete('requisito');

        //Se eliminan los documentos que contiene el requisito
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->delete('documento');

        //Elimino los permisos que contenia
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->delete('requisitovisibilidadgrupo');

        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->delete('requisitovisibilidadusuario');

        //Se eliminan los atributos relacionados que contiene el requisito
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->delete('requisitoatributovalor');

        //Pregunto por los todos los requisitos hijos!
        $this->db->select('*');
        $this->db->where('codigoRequisitoPadre',$codigoRequisito);
        $query = $this->db->get('requisito');
        if($query->num_rows() > 0) //Significa que tiene hijos!
        {
            foreach($query->result() as $row)
            {
                $this->eliminarRequisito($row->codigoRequisito);
            }
        }
    }
    function editarRequerimiento($codigoRequisito,$version,$codigoSubTipoRequisito,
            $codigoTipoRequisito,$estado,$nombreRequisito,$descripcion)
    {
        $data = array(
            "version"=>$version,"codigoSubTipoRequisito"=>$codigoSubTipoRequisito,
            "codigoTipoRequisito"=>$codigoTipoRequisito,"codigoEstadoRequisito"=>$estado,
            "nombreRequisito"=>$nombreRequisito,"descripcion"=>$descripcion);
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->update('requisito',$data);
    }
    function editaRequisitoAtributoValor($codigoRequisito,$codigoProyecto,$version,$codigoAtributo,$codigoValor)
    {
        $data = array(
            "codigoRequisito"=>$codigoRequisito,
            "codigoProyecto"=>$codigoProyecto,
            "version" => $version,
            "codigoAtributo"=> $codigoAtributo,
            "codigoValor" => $codigoValor
        );
        $this->db->insert('requisitoatributovalor',$data);
    }
    function eliminaRequisitoAtributoValor($codigoRequisito,$codigoProyecto,$version,$codigoAtributo,$codigoValor)
    {
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('version',$version);
        $this->db->where('codigoAtributo',$codigoAtributo);
        $this->db->where('codigoValor',$codigoValor);
        $this->db->delete('requisitoatributovalor');
    }
    function editarNombreProyecto($nombre,$codigoProyecto)
    {
        $datos = array("nombreProyecto"=>$nombre);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->update('proyecto',$datos);
    }
    function buscaGrupos($codigoProyecto)
    {
        $this->db->select('*');
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('codigoEstado',1); //solo los grupos activos!
        return $this->db->get('grupo');
    }
    function buscaGrupos2($codigoGrupo)
    {
        $this->db->select('*');
        $this->db->where('codigoGrupo',$codigoGrupo);
        return $this->db->get('grupo');
    }
    function buscarUsuarioGrupo($codigoProyecto)
    {
        $this->db->select('*');
        $this->db->where('codigoProyecto',$codigoProyecto);
        return $this->db->get('usuariogrupo');
    }
    function buscaNombre($codigoUsuario)
    {
        $this->db->select('*');
        $this->db->where('codigoUsuario',$codigoUsuario);
        return $this->db->get('usuario');
    }
    function buscaRol($codigoRol)
    {
        $this->db->select('*');
        $this->db->where('codigoRol',$codigoRol);
        return $this->db->get('rol');
    }
    function insertaRequisitoVisibilidadGrupo($codigoRequisito,$codigoProyecto,$version,$codigoGrupo)
    {
        $datos = array(
            'codigoRequisito'   =>  $codigoRequisito,
            'codigoProyecto'    =>  $codigoProyecto,
            'version'           =>  $version,
            'codigoGrupo'       => $codigoGrupo
        );
        $this->db->insert('requisitovisibilidadgrupo',$datos);
    }
    function insertaRequisitoVisibilidadUsuario($codigoRequisito,$codigoProyecto,$version,$codigoUsuario)
    {
        $datos = array(
            'codigoRequisito'   =>  $codigoRequisito,
            'codigoProyecto'    =>  $codigoProyecto,
            'version'           =>  $version,
            'codigoUsuario'     =>  $codigoUsuario
        );
        $this->db->insert('requisitovisibilidadusuario',$datos);
    }
    function eliminaRequisitoVisibilidadGrupo($codigoRequisito,$codigoProyecto,$version,$codigoGrupo)
    {
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('version',$version);
        $this->db->where('codigoGrupo',$codigoGrupo);
        $this->db->delete('requisitovisibilidadgrupo');
    }
    function eliminaRequisitoVisibilidadUsuario($codigoRequisito,$codigoProyecto,$version,$codigoUsuario)
    {
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('version',$version);
        $this->db->where('codigoUsuario',$codigoUsuario);
        $this->db->delete('requisitovisibilidadusuario');
    }
    function insertDocumento($codigoDocumento,$codigoRequisito,$codigoProyecto,$version,$rutaDocumento,$descripcionDocumento)
    {
        $datos = array(
            'codigoDocumento'       =>  $codigoDocumento,
            'codigoRequisito'       =>  $codigoRequisito,
            'codigoProyecto'        =>  $codigoProyecto,
            'version'               =>  $version,
            'rutaDocumento'         =>  $rutaDocumento,
            'descripcionDocumento'  =>  $descripcionDocumento
        );
        $this->db->insert('documento',$datos);


    }
    function buscaRequisitoVisibilidadGrupo($codigoRequisito,$codigoProyecto)
    {
        $this->db->select('*');
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoProyecto',$codigoProyecto);
        return $this->db->get('requisitovisibilidadgrupo');
    }
    function buscaRequisitoVisibilidadUsuario($codigoRequisito,$codigoProyecto)
    {
        $this->db->select('*');
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoProyecto',$codigoProyecto);
        return $this->db->get('requisitovisibilidadusuario');
    }
    function buscaRequisitoVisibilidadUsuario2($codigoRequisito,$codigoProyecto,$version,$codigoUsuario)
    {
        $this->db->select('*');
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('version',$version);
        $this->db->where('codigoUsuario',$codigoUsuario);
        return $this->db->get('requisitovisibilidadusuario');
    }
    function buscaDocumentos($codigoRequisito)
    {
        $this->db->where('rutaDocumento','');
        $this->db->delete('documento');
        
        $this->db->select('*');
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('rutaDocumento !=','');
        $this->db->distinct();
        return $this->db->get('documento');
    }
    function buscaDocumentos2($codigoProyecto)
    {
        $this->db->select('*');
        $this->db->where('rutaDocumento !=','');
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->distinct();
        return $this->db->get('documento');
    }

    function eliminaDocumento($codigoDocumento,$codigoRequisito,$codigoProyecto,$version)
    {
        $this->db->where('codigoDocumento',$codigoDocumento);
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('version',$version);
        $this->db->delete('documento');
    }
    function buscarGruposPermitidos($codigoProyecto,$codigoRequisito,$codigoGrupo){
        $this->db->select('*');
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoGrupo',$codigoGrupo);
        return $this->db->get('requisitovisibilidadgrupo');
    }
    function buscarUsuariosPermitidos($codigoProyecto,$codigoRequisito,$codigoUsuario)
    {
        $this->db->select('*');
        $this->db->where('codigoProyecto',$codigoProyecto);
        $this->db->where('codigoRequisito',$codigoRequisito);
        $this->db->where('codigoUsuario',$codigoUsuario);

        return $this->db->get('requisitovisibilidadusuario');
    }
    
}
?>